package com.example.content_android;

import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

//public class TitleLayout extends LinearLayout {
//    private String textName;//自定义文件大小
// private int textColor;//自定义文字颜色
//    /*** 构造方法* @param context 上下文对象* @param attrs*/
//    public TitleLayout(Context context, AttributeSet attrs) {
//
//        super(context, attrs);
//        TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.custom_view);//TypedArray属性对象
//
//                ta.getDimensionPixelSize(R.styleable.custom_view_custom_name, 20);//获取属性对象中对应的属性值
//        textColor = ta.getColor(R.styleable.custom_view_custom_color, 0x0000ff);
//        setTitle(textName);//设置属性
//        ta.recycle();
//        LayoutInflater.from(context).inflate(R.layout.title, this);
//        //加载title.xml的布局文件
//        Button back = (Button) findViewById(R.id.back);
//        TextView tv=findViewById(R.id.title_name);
//        // 获取title.xml布局文件中的返回按钮
//        Button ok = (Button) findViewById(R.id.ok);
//  tv.setText("防静电时空裂缝就算了");
//        //获取title.xml布局文件中的确认按钮/*** 添加各自的事件监听器*/
//        back.setOnClickListener(new OnClickListener() {
//            @Override
//            public void onClick(View arg0) {
//                // TODO Auto-generated method stub
//                ((Activity) getContext()).finish();
//                //返回上一个界面
//            }
//        });
//        ok.setOnClickListener(new OnClickListener() {
//                                  @Override
//                                  public void onClick(View arg0) {
//                                      // TODO Auto-generated method stub
//                                      Toast.makeText(getContext(), "OK", Toast.LENGTH_SHORT).show();//显示OK的消息提示框
//                                  }
//                              }
//        );
//    }
//    private void setTitle(String titleName) {
//
//    }
//}

public class CustomTitleBar extends LinearLayout {
    private Button titleBarLeftBtn;

    private TextView titleBarTitle;

    /*** 构造方法* @param context 上下文对象* @param attrs*/
    public CustomTitleBar(Context context, AttributeSet attrs) {
        super(context, attrs);
        LayoutInflater.from(context).inflate(R.layout.custom_title_bar, this, true);

//        titleBarLeftBtn = (Button) findViewById(R.id.title_bar_left);
//
//        titleBarTitle = (TextView) findViewById(R.id.title_bar_title);
        //加载title.xml的布局文件
        Button back = (Button) findViewById(R.id.back);
        // 获取title.xml布局文件中的返回按钮
        TextView titleName = (TextView) findViewById(R.id.title_name);


        TypedArray attributes = context.obtainStyledAttributes(attrs, R.styleable.CustomTitleBar);
        if (attributes != null) {
            //处理titleBar背景色
            int titleBarBackGround = attributes.getResourceId(R.styleable.CustomTitleBar_title_background_color, Color.GREEN);
            setBackgroundResource(titleBarBackGround);
            //先处理左边按钮
            //获取是否要显示左边按钮
            boolean leftButtonVisible = attributes.getBoolean(R.styleable.CustomTitleBar_left_button_visible, true);
            if (leftButtonVisible) {
                back.setVisibility(View.VISIBLE);
            } else {
                back.setVisibility(View.INVISIBLE);
            }
            //设置左边按钮的文字
            String leftButtonText = attributes.getString(R.styleable.CustomTitleBar_left_button_text);
            if (!TextUtils.isEmpty(leftButtonText)) {
                back.setText(leftButtonText);
                //设置左边按钮文字颜色
                int leftButtonTextColor = attributes.getColor(R.styleable.CustomTitleBar_left_button_text_color, Color.WHITE);
                back.setTextColor(leftButtonTextColor);
            }
            //设置左边图片icon 这里是二选一 要么只能是文字 要么只能是图片
            int leftButtonDrawable = attributes.getResourceId(R.styleable.CustomTitleBar_left_button_drawable, R.drawable.back);
            if (leftButtonDrawable != -1) {
                back.setCompoundDrawablesWithIntrinsicBounds(leftButtonDrawable, 0, 0, 0);  //设置到哪个控件的位置（）
            }


            //处理标题
            //先获取标题是否要显示图片icon
            int titleTextDrawable = attributes.getResourceId(R.styleable.CustomTitleBar_title_text_drawable, -1);
            if (titleTextDrawable != -1) {
                titleName.setBackgroundResource(titleTextDrawable);
            } else {
                //如果不是图片标题 则获取文字标题
                String titleText = attributes.getString(R.styleable.CustomTitleBar_title_text);
                if (!TextUtils.isEmpty(titleText)) {
                    titleName.setText(titleText);
                }
                //获取标题显示颜色
                int titleTextColor = attributes.getColor(R.styleable.CustomTitleBar_title_text_color, Color.WHITE);
                titleName.setTextColor(titleTextColor);
            }

//            //先处理右边按钮
//            //获取是否要显示右边按钮
//            boolean rightButtonVisible = attributes.getBoolean(R.styleable.CustomTitleBar_right_button_visible, true);
//            if (rightButtonVisible) {
//                titleBarRightBtn.setVisibility(View.VISIBLE);
//            } else {
//                titleBarRightBtn.setVisibility(View.INVISIBLE);
//            }
//            //设置右边按钮的文字
//            String rightButtonText = attributes.getString(R.styleable.CustomTitleBar_right_button_text);
//            if (!TextUtils.isEmpty(rightButtonText)) {
//                titleBarRightBtn.setText(rightButtonText);
//                //设置右边按钮文字颜色
//                int rightButtonTextColor = attributes.getColor(R.styleable.CustomTitleBar_right_button_text_color, Color.WHITE);
//                titleBarRightBtn.setTextColor(rightButtonTextColor);
//            }
//            //设置右边图片icon 这里是二选一 要么只能是文字 要么只能是图片
//            int rightButtonDrawable = attributes.getResourceId(R.styleable.CustomTitleBar_right_button_drawable, -1);
//            if (rightButtonDrawable != -1) {
//                titleBarRightBtn.setCompoundDrawablesWithIntrinsicBounds(0, 0, rightButtonDrawable, 0);  //设置到哪个控件的位置（）
//            }
            attributes.recycle();

            // 获取title.xml布局文件中的确认按钮/*** 添加各自的事件监听器*/
            back.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    ((Activity) getContext()).finish();//返回上一个界面
                }
            });
//            ok.setOnClickListener(new OnClickListener() {
//                @Override
//                public void onClick(View arg0) {
//                }
//
//
//            });


        }
    }

    public void setTitleClickListener(OnClickListener onClickListener) {
        if (onClickListener != null) {
            titleBarLeftBtn.setOnClickListener(onClickListener);
//            titleBarRightBtn.setOnClickListener(onClickListener);
        }
    }

    public Button getTitleBarLeftBtn() {
        return titleBarLeftBtn;
    }

//    public Button getTitleBarRightBtn() {
//        return titleBarRightBtn;
//    }

    public TextView getTitleBarTitle() {
        return titleBarTitle;
    }
}

